Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2021
Тип роботи:
Звіт
Предмет:
Алгоритмізація та програмування

Частина тексту файла

Національний технічний університет України  «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування 1: Базові концепції програмування ЗВІТ До модульної контрольної роботи №2 Варіант 4 Дата «15» грудня 2021 Завдання на МКР№2 / Код програми #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[],char *env[]) { int Matrix [2][2] = { {7,6}, {4,5} }; int inverse [2][2]; int X[2][2]; char RESULT[4]; char Alphabet[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; char message [] = {'k','p','a','h'}; printf("\t\t\t\t\t~>>>МКР №2<<<~\n"); printf("Матриця шифрування (початкова) :\n\n"); for(int i=0;i<2;i++) { printf("||"); for(int j=0;j<2;j++) { printf("\t%i\t",Matrix[i][j]); } printf("||"); printf("\n"); } double Determinant = Matrix[0][0] * Matrix[1][1] - Matrix[0][1] * Matrix[1][0]; if(Determinant!=0) { printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); printf("Визначник :\nDeterminant = %lf",Determinant); printf("\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); for(int i=0;i<4;i++) { for(int g=0;g<26;g++) { if(message[i]==Alphabet[g]) { message[i]=g; } } } int messageMatrix [2][2]={ {message[0],message[1]}, {message[2],message[3]} }; printf("Матриця із символів повідомлення :\n\n"); for(int i=0;i<2;i++) { printf("||"); for(int g=0;g<2;g++) { printf("\t%i\t",messageMatrix[i][g]); } printf("||"); printf("\n"); } printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); for(int i=0;i<1;i++) { for(int j=0;j<1;j++) { inverse[i][j]=Matrix[i+1][j+1]; } } for(int i=1;i<2;i++) { for(int j=1;j<2;j++) { inverse[i][j]=Matrix[i-1][j-1]; } } for(int i=1;i<2;i++) { for(int j=0;j<1;j++) { inverse[i][j]= (-1)*Matrix[i][j]; } } for(int i=0;i<1;i++) { for(int j=1;j<2;j++) { inverse[i][j]=(-1)*Matrix[i][j]; } } printf("Обернена ціла матриця :\n"); for(int i=0;i<2;i++) { printf("||"); for(int j=0;j<2;j++) { printf("\t%i\t",inverse[i][j]); } printf("||"); printf("\n"); } for(int i=0; i<2; i++) { for(int j=0; j<2; j++) { for(int M=0; M<10; M++){ if(inverse[i][j]%11!=0 || inverse[i][j]<0){ inverse[i][j]=inverse[i][j]+26; } if(inverse[i][j]%11==0 && inverse[i][j]>=0){ inverse[i][j]=inverse[i][j]/11; if(inverse[i][j]>=26) { inverse[i][j]=inverse[i][j]%26; } break; } } } } printf("\n"); for(int i = 0; i < 2; i++){ for(int j = 0; j < 2; j++){ X[i][j] = 0; for(int g = 0; g < 2; g++){ X[i][j] = X[i][j] + inverse[i][g] * messageMatrix[g][j]; } } } printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); printf("Матриця розшифрування:\n\n"); for(int i=0;i<2;i++) { printf("||"); for(int j=0;j<2;j++) { printf("\t%i\t",X[i][j]); } printf("||"); printf("\n"); } printf(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n"); printf("Розшифроване слово:"); char RESULT [4]={Alphabet[X[0][0]%26], Alphabet[X[0][1]%26], Alphabet[X[1][0]%26], Alphabet[X[1][1]%26]}; printf("\n%s ",RESULT); } else printf("Подальше розв'язання неможливе, адже визначник рівний нулю!"); } Результати / Посилання на Replit https://replit.com/join/prhaezsnna-tr-15tkachienko Висновок В ході виконання модульної контрольної роботи було складено алгоритм обчислення оберненої матриці, детермінанту, перетворення буквеної матриці на звичайну і навпаки, розшифровує отримані дані . На екран виводяться початкова матриця (матриця шифрування), визначник ,обернена матриця, матриця розшифрування і розшифроване слово.
Антиботан аватар за замовчуванням

14.05.2023 09:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини